Software Developer - Mobile - Senior

Senior Software Developer - Mobile: 2 Roles

 

Responsibilities:

 

  1. Design, code, and test a mobile application for IOS and Android platforms based on Ontario’s digital credential requirements following best practices and coding standards.  
  2. Maintain Ontario’s Digital Credential Wallet mobile application with components developed by other jurisdictions and the Open-Source Community to maintain currency of the product and avoid technical debt. 
  3. Assist in troubleshooting and resolving technical issues reported by users timely.
  4. Participate in agile development processes, including sprint planning, daily stand-ups, and sprint retrospectives. Collaborate effectively with cross-functional teams to deliver high-quality software within project timelines.
  5. Assist in facilitating the potential integration of the mobile application with other platforms.
  6. Implement security fixes and patch updates.

7.   Document code, processes, and procedures to facilitate knowledge sharing and future maintenance of mobile applications.

Skills
 
Experience and Skill Set Requirements

Mobile development – 30%

 

·      Experience working with commercial grade mobile iOS and Android applications using native languages (Objective-C / Swift, Xcode or Java with Android Studio).

·      Experience with iOS or Android. Strong experience developing multithreaded applications.

·      Experience with mobile operation system (OS) architecture in areas of user interface (UI), memory management, data storage, application management by OS, and cybersecurity.

·      Experience with UI development of mobile application (scalable for different screen resolutions and localization).

·      Experience working with continuous integration.

·      Must have apps published in either the Apple or Google store.

·      Experience in developing Native and Hybrid apps with iOS/Swift, Android/Java, React Native/TypeScript.

·      Experience with Apple and Google wallets, or custom digital wallets, such as add passes/credentials to a wallet.

·      Knowledge of using Secure Enclave and/or TrustZone.

·      Experience in developing mobile apps that use local on device capabilities, such as camera, Bluetooth, microphone, accelerometer, etc.

 

Digital Trust and Verifiable Credentials – 40%

 

  • Demonstrated experience with:
    • Developing mobile solutions with Hyperledger Aries, Hyperledger Indy technology stack.
    • Aries Framework Javascript (AFJ) / Credo.
    • Aries Anoncreds, Aries Interoperability Profiles (AIP) 1 and 2.
    • Developing in React Native.
    • JavaScript, HTML5, CSS3.
    • JavaScript frameworks such as React.js, Angular.js, & Vue and TypeScript.
    • Developing responsive design & progressive web applications.
    • Developing/working with APIs and API Gateways.
  • Familiarity with JSON & REST APIs.
  • Experience working with continuous integration.
  • World wide web consortium (W3C) verifiable credentials (VC) model, decentralized identifiers (DIDs), JSON-LD, zero-knowledge proofs.
  • Digital wallet development experience in native and/or hybrid app; hardware level encryption (HLE), use of secure elements on mobile devices (e.g., Apple Secure Enclave).
  • Open ID Connect (OIDC), Oath2, Security Assertion Markup Language (SAML), JSON Web Tokens (JWT), JSON Web Signatures (JWS), Transport Layer Security (TLS), one-time passwords (OTP), public key infrastructure (PKI), elliptic curve cryptography (ECC), SHA/SHA2, RSA, Hash, RSA.
  • Digital Identity standards and frameworks such as the PCTF, NIST and eIDAS etc.
  • Node.js, Dot Net Core, Python.

 

Back End – 15%

 

  • Experience working with Java, NodeJS and RESTful APIs.
  • SOAP Web Service development connecting to backend Ministries.
  • API management tools such as IBM API Connect or equivalent.
  • Familiarity with Docker and Kubernetes containers and cloud-based environments.
  • Working experience in distributed, event-driven systems.
  • Familiarity with PKI security.
  • Experience working with messaging systems.
  • Experience working with Shell Scripts.
  • Experience working with continuous integration.
  • Java/Sprint Framework, JS/Node.js, Python/Django.

 

 

 

Team Contributor and Agile Experience - 15%

 

  • Experienced in developing and updating technical documentation.
  • Experienced with Agile methodologies and related ceremonies, and tools.
  • Self starter and motivated individual.
  • Ability to analyze and break down complex problems.
  • Effective at managing time, schedule, and commitments in a fast-paced environment with multiple competing priorities.
  • Experienced with testing, test case development and related documentations.
  • User focused/centered designs to solve real problems for users.

 

 

Supplier Comments

Max submissions: 2 (two)

Hybrid: 3 days onsite / 2 days remote

 

Must Have:

·      Experience working with commercial grade mobile iOS and Android applications using native languages (Objective-C / Swift, Xcode or Java with Android Studio).

·      Must have apps published in either the Apple or Google store along with Additional Credentials and Wallet Experience.

·      Experience in developing Native and Hybrid apps with iOS/Swift, Android/Java, React Native/TypeScript.

·     Experience working with Java, NodeJS and RESTful APIs.

·    Additional experience with open-source digital credentials software libraries